/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package br.com.webhomesites.locacao.model;

import br.com.webhomesites.padrao.utils.GenericDAO;
import java.util.List;
import javax.persistence.Query;

/**
 *
 * @author Webhome
 */
public class ItemDevolucaoParcialDAO extends GenericDAO<ItemDevolucaoParcialModel> {
    
    public List<ItemLocacaoModel> findByIdLocacao(long idloc) {
        Query query = getEntityCriada().createNamedQuery("ItemDevolucaoParcialModel.findByIdLocacao");
        query.setParameter("idloc", idloc);
        List<ItemLocacaoModel> retorno = query.getResultList();
        return retorno;
    }
    
    public long findMaxIdByIdLocacao(long idloc) {
        Query query = getEntityCriada().createNamedQuery("ItemDevolucaoParcialModel.findMaxIdByIdLocacao");
        query.setParameter("idloc", idloc);
        
        if(query.getSingleResult()==null) {
            System.out.println("Item com retorno 0");
            return 0;
        } else {
        long retorno = (Long) query.getSingleResult();
            return retorno;
        }
    }
    
//    ItemLocacaoModel.deleteByLocacao
//            
//    public long deleteByLocacao(long idloc, long id) {
//        Query query = getEntityCriada().createNamedQuery("ItemLocacaoModel.deleteByLocacao");
//        query.setParameter("idloc", idloc);
//        query.setParameter("id", id);
//        
//        query.e
//        
//        if(query.getSingleResult()==null) {
//            System.out.println("Item com retorno 0");
//            return 0;
//        } else {
//        long retorno = (Long) query.getSingleResult();
//            return retorno;
//        }
//    }

//    private static List<ItemLocacaoModel> listaItemLocacao = new ArrayList<>();
//
//    @Override
//    public void inserirItemLocacao(ItemLocacaoModel itemLocacaoModel) {
//        listaItemLocacao.add(itemLocacaoModel);
//    }
//
//    @Override
//    public void removerItemLocacao(ItemLocacaoModel itemLocacaoModel) {
//        listaItemLocacao.remove(itemLocacaoModel);
//    }
//
//    @Override
//    public void atualizarItemLocacao(ItemLocacaoModel itemLocacaoModel) {
//        //throw new UnsupportedOperationException("Not supported yet.");
//    }
//
//    @Override
//    public List<ItemLocacaoModel> selecionarTodosItens(int codigoLocacao) {
//        List<ItemLocacaoModel> listaItemTemp;
//        List<ItemLocacaoModel> listaItens = new ArrayList<>();
//        listaItemTemp = todosItens();
//
//        for (int i = 0; i < listaItemTemp.size(); i++) {
//            System.out.println("Código Locação = " + listaItemTemp.get(i).getCodigoLocacao() + " , Código Item = " + listaItemTemp.get(i).getId());
//            if (listaItemTemp.get(i).getCodigoLocacao() == codigoLocacao) {
//                listaItens.add(listaItemTemp.get(i));
//                System.out.println("Locação Atual = " + listaItemTemp.get(i).getCodigoLocacao());
//            }
//        }
//
//        return listaItens;
//    }
//
//    @Override
//    public long getMaximoCodigo(int codigoLocacao) {
//        long codigo = 0;
//
//        List<ItemLocacaoModel> listaItemTemp;
//
//        listaItemTemp = selecionarTodosItens(codigoLocacao);
//
//        if (listaItemTemp.isEmpty()) {
//            return 0;
//        } else {
//            codigo = listaItemTemp.get(0).getId().intValue();
//            for (int i = 0; i < listaItemTemp.size(); i++) {                
//                if (listaItemTemp.get(i).getId() > codigo) {
//                    codigo = listaItemTemp.get(i).getId().intValue();
//                }
//            }
//            return codigo;
//        }
//    }
//
//    private List<ItemLocacaoModel> todosItens() {
//        return listaItemLocacao;
//    }
}
